Содержание книги
Ниже
кратко изложено содержание одиннадцати глав этой книги. Это может напомнить вам тот раздел руководства по
программному обеспечению, который обычно носит название: «Для тех, кто терпеть не может читать инструкции
и наставления». Возможно,
что после того, как вы ознакомитесь с этим перечнем, вам не нужно будет читать
все остальное в этой книге.
•
В главе 1 приводится
несколько исходных определений и формулируются основные правила, согласно которым в этой книге принимаются решения о том,
что считается важным, а что - нет.
•
Глава 2 является
введением в двоичную систему чисел и двоичные коды. Читателю, уже знакомому с двоичной системой чисел по курсам программирования,
все же стоит прочесть параграфы 2.10-2.13, чтобы получить представление о том,
какую роль двоичные коды играют в аппаратуре. Для подготовленных студентов хорошим введением в коды, исправляющие ошибки,
будут параграфы 2.14 и 2.15. Всем следует прочесть раздел 2.16.1; этот материал используется в примерах
проектирования цифровых устройств в главе 8.
•
В главе 3 — по
принципу «Вот все, что вы хотели бы знать об этом» - рассматривается работа цифровых схем, причем главный
упор делается на внешние электрические характеристики логических элементов.
Исходными являются такие основные понятия электроники, как напряжение, ток и
закон Ома; те, кому этот материал не
знаком, могут при желании обратиться к упомянутому выше учебному пособию Электрические цепи в
кратком изложении. Если вам не
интересно, как именно функционируют реальные схемы, или вы можете позволить
себе роскошь поручить грязную работу кому-то другому, то эту главу можно пропустить.
•
Глава 4 посвящена принципам
проектирования комбинационных логических схем
и содержит алгебру переключений, а также анализ, синтез и минимизацию комбинационных
схем. В конце этой главы появляются начальные сведения
о языках ABEL и VHDL.
•
Глава 5 начинается с
обсуждения стандартов для документации на цифровые системы, что, возможно, является самым важным для честолюбивых проектировщиков, когда они только приступают к
практической работе. Затем в этой главе читатель знакомится с программируемыми
логическими устройствами (ПЛУ; programmable logic devices, PLDs), причем здесь его внимание оказывается сосредоточенным на возможности реализации с
помощью таких устройств комбинационных
логических функций. Остальная часть этой главы посвящена часто используемым
комбинационным логическим функциям и их применениям. Для каждой из этих функций описаны стандартные интегральные схемы
(ИС) средней степени интеграции, программы на языке ABEL,
позволяющие реализовать эти функции с помощью ПЛУ, и модели на языке VHDL. Глава 6 представляет собой коллекцию примеров
конструирования более сложных
комбинационных устройств. В каждом из примеров показано, как можно реализовать данное устройство на основе ИС средней
степени интеграции (в тех случаях, когда это имеет смысл), описать его
на языке ABEL, имея в виду реализацию с помощью ПЛУ, или на языке VHDL, когда намечено применение кристаллов CPLD или FPGA.
•
Глава 7 знакомит с принципами
проектирования последовательностных логических схем,
начиная с защелок и триггеров. В этой главе упор сделан на анализ и расчет тактируемых синхронных конечных
автоматов. Для смелых и отважных эта глава содержит введение в теорию
схем классического образца (fundamental
mode circuits), а также
анализ и расчет последовательностных схем с обратной
связью. Заканчивается глава параграфами, в которых речь идет о
возможностях, предоставляемых языками ABEL
и VHDL при проектировании последовательностных
схем.
•
Глава 8 целиком посвящена
практическим аспектам проектирования последовательностных
схем. Как и ранее в главе 5, внимание читателя в этой главе сосредоточено на часто используемых функциях и
приведены примеры применения ИС средней степени интеграции, языка ABEL при реализации
в ПЛУ и языка VHDL. В параграфах 8.8 и 8.9 обсуждаются
неизбежные препятствия на пути создания идеального, абсолютно синхронного
устройства, и здесь читатель лицом к лицу сталкивается с важной проблемой: как
жить синхронно в асинхронном мире?
•
Глава 9 является собранием
примеров проектирования конечных автоматов и более
сложных последовательностных схем. В каждом примере
показано, как решить задачу, составляя программу на языке ABEL при реализации
в ПЛУ или на языке VHDL, когда имеется в виду
использование кристаллов CPLD или FPGA.
•
Глава 10 служит введением в
запоминающие устройства и программируемые матричные интегральные схемы типа CPLD и FPGA. Материал, посвященный устройствам
электронной памяти, охватывает ПЗУ и статические и динамические ОЗУ, включая их внутреннюю структуру и
функциональное описание. Последние два параграфа знакомят с архитектурой
кристаллов CPLD и FPGA. • В главе 11 рассмотрено несколько вопросов смешанного
характера, относящихся к практической
реализации цифровых проектов и представляющих интерес для разработчиков. Когда я начинал писать эту книгу и думал, что
ее объем составит 300 страниц, эта глава была включена в план для того,
чтобы «раздуть» основной материал до более
впечатляющих размеров. Теперь очевидно,
что книга и без того получилась довольно объемной, но то, что вошло в эту
главу, все равно полезно.
В большинстве глав имеются ссылки на литературу,
упражнения и задачи. Упражнения,
как правило, предусматривают быстрый ответ, который можно непосредственно найти в изложенном
материале; часто вопрос просто бывает задан другими
словами. Задачи могут потребовать чуть большего усилия мысли. Особенно много упражнений в главе 3, и их назначение
состоит в том, чтобы облегчить учащемуся,
не специализирующемуся в области электроники, постепенно освоить этот
материал.